import { ref } from 'vue'
import { defineStore } from 'pinia'
import { getLoginUserUsingGet } from "@/api/userController";

//存储登录用户信息的状态
export const useLoginUserStore  = defineStore('loginUser', () => {
  //定义状态的初始值
  const loginUser = ref<API.LoginUserVO>({
    userName: "未登录",
  });

  /**
   * 定义变量的计算逻辑 getter
   * 获取登录用户信息
   */
  async function fetchLoginUser(){
    // //测试用户登录，3s后自动登录
    // setTimeout(()=>{
    //   loginUser.value = { userName:"测试用户" , id: 1 }
    // },3000)
    const res  = await getLoginUserUsingGet()
    if(res.data.code === 0 && res.data.data){
      loginUser.value = res.data.data
    }
  }


  //定义怎么更改状态的方法
  //设置登录用户
  function setLoginUser(newLoginUser:any){
    loginUser.value = newLoginUser;
  }

  //返回
  return { loginUser, setLoginUser, fetchLoginUser }
})
